نمونه پژوهش user8208- پژوهش علمی


عضو شوید


نام کاربری
رمز عبور

:: فراموشی رمز عبور؟

عضویت سریع

نام کاربری
رمز عبور
تکرار رمز
ایمیل
کد تصویری
براي اطلاع از آپيدت شدن وبلاگ در خبرنامه وبلاگ عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود




تبادل لینک هوشمند

برای تبادل لینک ابتدا ما را با عنوان پایان نامه ها و آدرس k-thesis.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.







نام :
وب :
پیام :
2+2=:
(Refresh)
پرش به محتوای اصلیرفتن به نوارابزار پیشخوان خانه به‌روزرسانی‌ها 2 نوشته‌ها همه‌ی نوشته‌ها افزودن نوشته دسته‌ها برچسب‌ها بگرد و جایگزین کن! تمام گشتن ها اضافه کردن رسانه کتابخانه افزودن برگه‌ها همه‌ی برگه‌ها افزودن برگه دیدگاه‌ها 1 نمایش پوسته‌ها سفارشی‌سازی ابزارک‌ها فهرست‌ها سربرگ پس‌زمینه Random Backgrounds تنظیمات پوسته ویرایشگر افزونه‌ها افزونه‌های نصب‌شده افزودن ویرایشگر Random Banners کاربران همه کاربران افزودن شناسنامه شما ابزارها ابزارهای دردسترس درون‌ریزی برون‌بری Search & Replace تنظیمات همگانی نوشتن خواندن گفت‌و‌گو‌ها رسانه پیوندهای یکتا Shortcode any widget Auto Limit Posts Header and Footer WP Rocket XML-Sitemap Random Thumbnails کوتاه کردن پست فونت ماندگار فونت پیشخوان فونت پوسته انتقادات و پیشنهادات Related Posts تنظیمات پارسی جمع کردن فهرست درباره وردپرس پایان نامه های ایران داک 22 به‌روزرسانی پوسته 11 دیدگاه در انتظار مدیریت است تازه WP Rocket سلام 92 بیرون رفتن راهنما تنظیمات صفحه نوشته‌ی تازه Easy Image Display is supported through Patreon. If you find it useful, please consider a small donation. Thanks! | Hide Notice وردپرس پارسی فعال شد! برای کارکردن افزونه نیاز به پیکربندی آن دارید. برگه‌ی پیکربندی – بی‌خیال WP Rocket بعد از فعال یا غیرفعال سازی ویژگی یا افزونه پا کردن کش ضروری است پاک کردن کش WP Rocket: برای درست کار کردن افزونه به پیوند یکتا بروید و ساختار دلخواه را انتخاب کنید ، رفتن به پیوند یکتا عنوان را اینجا وارد کنید پیوند یکتا: http://abbas-jadidi.ir/?p=3132&preview=true تغییر پیوندهای یکتا افزودن پرونده چندرسانه‌ایدیداریمتن bilinkb-quotedelinsimgulollicodemoreبستن برچسب‌هاجهت متن سرویس وبلاگدهی وردپرسی

پایان نامه ارشد مدیریت (سایت اصلی)

نمونه سوال ارشد (تست ها)

پایان نامه ارشد حقوق (سایت اصلی)

دانلود پایان نامه ارشد -همه رشته ها

پایان نامه حسابداری (سایت اصلی)

پایان نامه ادبیات

پایان نامه برق

پایان نامه (ارشد فایل)

پایان نامه ارشد روانشناسی (بلاگ اسکای)

پایان نامه مدیریت

پایان نامه ارشد (پارسی بلاگ)

روانشناسی (لوکس بلاگ)

پایان نامه (رزبلاگ)

فروش فایل سنجش و دانش

آرتین فایل

پایان نامه (بلاگ اسکای)

پایان نامه های پارسی بلاگ 2

پایان نامه و تز (فورکیا)

پایان نامه (نیلوبلاگ)

دانلود پایان نامه ارشد مدیریت (لوکس بلاگ)

پایان نامه ارشد رشته حقوق (میهن بلاگ)

پایان نامه ارشد حقوق (بلاگ اسکای)

هما تز

دانلود پایان نامه رشته حقوق (رز بلاگ)

پایان نامه حقوق (نیلو بلاگ)

عناوین پایان نامه مدیریت

پایان نامه های حقوق (لوکس بلاگ)

پایان نامه تربیت بدنی

پایان نامه مدیریت صنعتی

پایان نامه ارشد مدیریت (بلاگ اسکای)

پایان نامه علم یار

پایان نامه روانشناسی (فورکیا)

پایان نامه ارشد

پایان نامه حقوق (رزبلاگ)

آوا فایل

دانلود پایان نامه ها (رزبلاگ 3)

دانلود متن کامل پایان نامه (رزبلاگ)

پایان نامه حقوق جزا

ارشد حقوق

بهار فایل

پایان نامه ها (پارسا بلاگ)

پایان نامه حسابداری

پایان نامه بورس

پایان نامه حسابداری دولتی

پایان نامه ها (سایت بیان)

پایان نامه مدیریت مالی

پایان نامه ارشد جغرافی (جغرافیا)

فوکا-لینک های مفید سایت دانلود

پایان نامه مدیریت انسانی

پایان نامه ارشد صنایع

پایان نامه مدیریت مالی صنعتی

پایان نامه الهیات

پایان نامه عمران

پایان نامه ارشد (میهن بلاگ)

متن کامل پایان نامه (رزبلاگ 4)

پایان نامه و تحقیق

پایان نامه مدیریت عمران

پایان نامه فرمت ورد( لوکس بلاگ)

پایان نامه ارشد ( لوکس بلاگ)

پایان نامه ارشد دانلود ( لوکس بلاگ)

دانلود پایان نامه ها (پارسا بلاگ)

پایان نامه (جوان بلاگ)

پایان نامه ارشد و کارشناسی

پایان نامه کارشناسی ارشد (لاین بلاگ)

دسترسی پایان نامه ارشد

دانلود رایگان پایان نامه

تعداد واژه‌ها: 290 پیش‌نویس در زمان 2:17:43 ب.ظ ذخیره شد. تغییر وضعیت پنل: انتشار انتشار ذخیره پیش‌نویس پیش‌نمایش (باز شدن در پنجره تازه) وضعیت: پیش‌نویس ویرایش ویرایش وضعیت نمایانی: عمومی ویرایش تغییر میدان دید انتشار فوری ویرایش ویرایش تاریخ و زمان پاک کردن کش انتقال به زباله‌دانانتشار تغییر وضعیت پنل: ساختار ساختار ساختارهای نوشته استاندارد حاشیه پیوند گفتاورد تغییر وضعیت پنل: دسته‌ها دسته‌ها همه دسته‌ها بیشتر استفاده شده پایان نامه ها دسته شماره 2 + افزودن دسته تازه تغییر وضعیت پنل: برچسب‌ها برچسب‌ها افزودن برچسب افزودن برچسب‌ها را با ویرگول لاتین (,) جدا کنید انتخاب از برچسب‌های بیشتر استفاده شده تغییر وضعیت پنل: Cache Options Cache Options Activate these options on this post: Images LazyLoad Iframes & Videos LazyLoad HTML Minification CSS Minification JS Minification شبکه تحویل محتوا Note: These options aren't applied if you added this post in the "Never cache the following pages" option. تغییر وضعیت پنل: Header and Footer Header and Footer Disable top injection Disable bottom injection سپاسگزاریم از اینکه سایت خود را با وردپرس ساخته‌اید. نگارش 4.8.1 پیوند درج شد. هیچی پیدا نشد.

دانلود پایان نامه ارشد

دانلود پایان نامه های ارشد ایران داک –مجموعه کامل پایان نامه دسترسی متن کامل پایان نامه-پایان نامه ارشد-دانلود متن کامل همه رشته ها و گرایش ها خرید و فروش پایان نامه -تحقیق-پروژه-مقاله دانلود متن کامل با فرمت ورد پایان نامه های ارشد-رشته و گرایش : ادبیات برق عمران رشته روانشناسی-مدیریت حقوق –دانلود نمونه رایگان پایان نامه

پژوهش علمی های ارشد user8208- دانلود پایان نامه فارسی

ارشد user8208- دانلود ریسرچ ایرانداک

-فایل پایان نامه-سایت پایان نامه ) user8208- پایان نامه

Please enter banners and links.

22 2-2- تعادل روبات ونقطه گشتاور صفر
25 2-3- حرکتشناسی
27 2-3-1- حرکتشناسی مستقیم
27 2-3-2- حرکتشناسی معکوس
31 2-4- استفاده از سریهای فوریه در تحلیل حرکت روبات
34 2-4-1- بهینهسازی پارامترهای سری فوریه به کمک الگوریتم ژنتیک
37 2-4-2- بهینهسازی پارامترهای سری فوریه به کمک الگوریتم ازدحام ذرات
فصل سوم: طرح پیشنهادی
42 3-1- مقدمه
42 3-2- روبات انساننمای نائو و تحلیل حرکت آن
45 3-3- استفاده از حرکتشناسی در راه رفتن از بغل
46 3-3-1- حرکتشناسی مستقیم
50 3-3-2- حرکتشناسی معکوس
52 3-4- استفاده از اتوماتای یادگیر به منظور راه رفتن روبات
53 3-4-1- روباتهای افزونه
54 3-4-2- اتوماتاهای یادگیر
55 3-4-2-1- اتوماتای یادگیر با ساختار ثابت
58 3-4-2-2- اتوماتای یادگیر با ساختار متغیر
60 3-4-3- روش پیشنهادی در راه رفتن روبات نائو
فصل چهارم: آزمایشها و نتایج
70 4-1- مقدمه
71 4-2- راه رفتن مستقیم
74 4-3- راه رفتن از بغل
79 4-4 تاثیر تعداد مفاصل مورد استفاده در همگرایی سرعت و تعادل روبات
فصل پنجم: نتیجهگیری و مطالعات آینده
85 5-1- جمعبندی
86 5-2- مطالعات آینده
فهرست منابع

فهرست جداول
جدول1-1: مشخصات روبات نائو 15
جدول 1-2: محتویات شاخه های موجود در کد پایه 17
جدول 3-1: مشخصات مفاصل روبات نائو 44
جدول 3-2: مقدار دهی اولیه پارامترهای روبات 51
جدول 3-3: محدودیت اعمال شده به سه مفصل اصلی پا 62
جدول 4-1: تیمهای برتر مسابقات جهانی لیگ شبیهسازی فوتبال سهبعدی 72
جدول 4-2: مقایسه سرعت و تعداد زمین خوردن روبات نائو در راه رفتن مستقیم بدست آمده از روش پیشنهادی با سه تیم برتر جهان 73
جدول 4-3: مقایسه سه مجموعه توانایی. مجموعه اول و دوم حرکت روبات با کمک راه رفتن از جلو وچرخش. مجموعه دوم با کمک راه رفتن مستقیم و راه رفتن از بغل 76
جدول 4-4: مقایسه سرعت و تعداد زمین خوردن روبات در راه رفتن از بغل بدست آمده از روش
پیشنهادی با سه تیم برتر جهان 79

فهرست اشکال
شکل 1-1: مثال هایی از روبات های غیر متحرک 4
شکل1- 2: نمونه هایی از روبات های متحرک بر روی زمین 5
شکل 1-3: کاوشگر کنجکاوی، ماموریت اکتشاف در مریخ 6
شکل 1-4: نمونه هایی از روبات های پرنده 6
شکل 1-5: نمونه هایی از روبات های دریایی 7
شکل 1-6: نمونههایی از روباتهای انساننما 9
شکل 1-7: محیط های شبیه سازی فوتبال دوبعدی و سه بعدی 12
شکل 1-8: محیط های شبیه سازی فوتبال دوبعدی و سه بعدی 12
شکل 1-9: ساختار لایه ای کد پایه 17
شکل 2-1: راه رفتن ایستا 23
شکل 2-2: راه رفتن پویا 24
شکل 2-3: بخشهای مختلف روبات صنعتی 26
شکل 2-4: روبات آموزشی Robonova-1 29
شکل 2-5: مدل ساده شده Robonova-1 30
شکل 2-6: مسیر حرکتی ثبت شده مفاصل کفل و زانوی انسان 32
شکل 2-7: تحلیل یانگ از مسیرهای متناوب ثبت شده توسط نرمافزارPOLYGON 33
شکل 2-8: شمای کلی الگوریتم ژنتیک 36
شکل 2-9: شمای کلی الگوریتم ازدحام ذرات 39
شکل 3-1: اتوماتای یادگیر کرایلوف 43
شکل 3-2: اتوماتای یادگیر کرینسکی 47
شکل 3-3: اتوماتای یادگیر L2N,2 49
شکل 3-4: اتوماتای یادگیر L2,2
50
شکل 3-5: اتوماتای یادگیر در تقابل با محیط 54
شکل 3-6: یک بازوی روباتیک افزونه 55
شکل 3-7: چرخشهای مهم در فضای R3 56
شکل 3-8: روبات صنعتی اسکارا 57
شکل 3-9: اتصال محورهای مختصات به یک بازوی روباتیک 57
شکل 3-10: مفصلبندی روبات نائو 58
شکل 3-11: الگوریتم پیشنهادی برای یدست آوردن مقادیر مفاصل 63
شکل 4-1: زمان میانگین 30 مرتبه اجرا با هر مجموعه توانایی 77
شکل 4-2: تغییرات سرعت روبات در راه رفتن مستقیم با توجه به تعداد مفاصل انتخابی 80
شکل 4-3: تغییرات سرعت روبات در راه رفتن از بغل با توجه به تعداد مفاصل انتخابی 81
شکل 4-4: تاثیر تعداد مفاصل انتخابی در تعداد دفعات زمین خوردن روبات در راه رفتن مستقیم 82
شکل 4-5: تاثیر تعداد مفاصل انتخابی در تعداد دفعات زمین خوردن روبات در راه رفتن از بغل 83

فصل اول:
مقدمه
مقدمه
امروزه روباتیک به عنوان یکی از رشتههای علوم ومهندسی، مورد توجه بسیاری از موسسههای تحقیقاتی قرار گرفته است و به یکی از حوزه های بسیار جذاب تحقیق و پژوهش بدل گشته است، به نحوی که تحقیقات در زمینه روباتیک در شاخه های مختلفی در حال پیگیری است. در زمینه روباتیک سه رویکرد کلی مورد توجه می باشد که تحقیقات در این سه حوزه گسترده رو به پیشرفت میباشد. در رویکرد اول سعی بر ساخت روباتهای مصنوعی و هوشمند کردن آنها با استفاده از الگوریتمهای هوش مصنوعی است، که این رویکرد بسیار پرطرفدار خود به شاخه های گوناگونی تقسیم میشود که در ادامه به معرفی برخی از آنها خواهیم پرداخت. رویکرد دوم به استفاده از هوش طبیعی برای کنترل روباتهای مصنوعی میپردازد. روباتهایی که با کنترل دستی هدایت میشوند در این حیطه قرار میگیرند و در نهایت رویکرد آخر استفاده از روباتهای طبیعی و تربیت آنها برای دست یافتن به اهداف از پیش تعیین شده میباشد. تربیت حیوانات برای انجام اعمال خاص، مثالی از رویکرد سوم میباشد.
روباتها را میتوان در تقسیم بندی دیگری از لحاظ کاربرد آنها قرار داد که از این بین میتوان به روباتهای صنعتی، روباتهای خانه دار، روباتهای پزشکی، روباتهای سرویس دهنده، روباتهای نظامی، روبات های سرگرمی و … اشاره کرد.
همچنین روباتها از نظر سامانه حرکتی نیز قابل تقسیم بندی هستند که به طور خلاصه به صورت زیر قابل تقسیم می باشند:
روبات های ایستا (غیر متحرک)
روبات های متحرک
روبات های فضانورد
روبات های پرنده
روبات های دریا نورد
سایر روبات ها
دسته اول روباتهای ایستا میباشند( شکل1-1). بیشتر روبات های صنعتی موجود در کارخانهها ازین دست می باشند. بازوهای روباتیک و همچنین روباتهای پردازشگر و ابر محاسباتی از این دست روبات می باشند.

شکل SEQ شکل \* ARABIC 1-1: مثال هایی از روبات های غیر متحرک
دسته بعدی روباتهای متحرک می باشند که بر روی زمین حرکت می کنند. این گروه شامل طیف گستردهای از روباتها می باشد :
روباتهای چرخدار
روباتهای زنجیردار
روباتهای پا دار
روباتهای دوپا (انسان نما)
روباتهای سه پا
روباتهای چهار پا
دیگر موارد
شکل 1-2 نشان دهنده نمونههای مختلف از روباتهای متحرک بر روی زمین است. دسته بعدی روباتهای فضانورد هستند که مخصوص فعالیت در فضاهای کم گرانش طراحی میشوند و مخصوص انجام ماموریت در سطح کرات دیگر و یا ایستگاههای فضایی میباشند. روباتهای کاوشگر فضایی از نمونههای این دسته هستند.

شکل 1- SEQ شکل \* ARABIC 2 : نمونه هایی از روبات های متحرک بر روی زمین
روباتهای پرنده دسته بعدی روباتها هستند که پهبادها، هواپیما و بالگردهای بدون سرنشین از جمله این روباتها هستند. و در نهایت دسته آخر همانگونه که از نام آن پیداست مخصوص حرکت در سطح یا زیر آب طراحی میشوند. روباتهای دریانورد شامل انواع زیردریاییها، قایقها، و روباتهای ماهی میباشد. شکل های1-3، 1-4 و1-5 به ترتیب نشان دهنده نمونه هایی از روبات های فضانورد، پرنده و دریانورد میباشند. همانطور گه از تصاویر و توضیحات مشخص است، حوزه عملکرد روباتها در طراحی سامانه حرکتی آن نقش مستقیم دارد.

شکل 1- SEQ شکل \* ARABIC 3 : کاوشگر کنجکاوی، ماموریت اکتشاف در مریخ

شکل 1-4 : نمونه هایی از روبات های پرنده

شکل 1-5 : نمونه هایی از روبات های دریایی
روباتهای انسان نما
از میان تقسیم بندیهای گوناگون ارائه شده در حیطه روباتیک، یکی از پرکاربردترین و مهمترین روباتها، روبات انساننما میباشد که از نظر تقسیمبندی در دسته روبات های پادار دوپا قرار میگیرد. این روباتها یکی از جذابترین و در عین حال پیچیدهترین حوزههای تحقیق در علوم روباتیک هستند [1-3]. درجه آزادی بالا، دینامیک پیچیده و مسائل تعادلی این روبات را به یکی از پیچیدهترین روباتها تبدیل کرده است به طوری که تحلیل و مدلسازی آن به آسانی امکان پذیر نمیباشد.
روبات انساننما همانطور که از نام آن پیداست به روبات خودکاری گفته میشود که شبیه انسان است. به این معنا که از لحاظ ظاهری دارای دو دست، دو پا و سر باشد. البته این شباهت به فراخور کاربرد میتواند بیشتر وارد جزئیات شود به این صورت که چشم، دهان، انگشتان و سایر اجزای بدن نیز به آن افزوده شود (شکل1-6). همچنین این روبات دارای حسگرهای پیشرفتهای جهت درک محیط اطرافش میباشد و دارای پردازشگرهایی پیشرفته جهت پردازش دادههای دریافتی از محیط است. با پیادهسازی الگوریتمهای پیشرفته و استفاده از حسگرها، این روبات قادر خواهد بود به تقلید رفتارهای انسانی دیدن، شنیدن، یادگیری از محیط و دیگر تواناییهای ذهنی انسان نیز بپردازد. به طور مثال با استفاده از حسگر بینایی و الگوریتمهای مربوطه میتواند افراد یا اشیا را در محیط تشخیص دهد، به سمت آنها حرکت کند، اشیا را جابهجا کند یا با استفاده از حسگر شنوایی و الگوریتمها و سیستمهای پردازش گفتار، به گفت و گو با انسان بپردازد و تواناییهایی دیگر ازین دست. به همین دلیل این شاخه از روباتیک به یکی از جذابترین و به روزترین شاخههای این علم تبدیل شده است که ذهن دانشمندان زیادی را به خود مشغول کرده است و همچنین کشورهای پیشرفته سرمایه گذاری های فراوانی در این زمینه انجام دادهاند.

شکل 1-6 : نمونههایی از روباتهای انساننما
این روباتها برای آینده صنعت و تحقیق در زمینه روباتیک اهمیت فراوانی دارند. از جمله کاربردهای پیش بینی شده برای این روباتها در آینده کار در کارخانهها، منازل، شرکت در عملیات امداد و نجات، بازی فوتبال و در سطوح بالاتر استفاده از آنها در عملیات های نظامی و استراتژیک میباشد. روشهای هوش مصنوعی قابل پیادهسازی در این روباتها علت اصلی علاقه محققین هوش مصنوعی به این زمینه است به طوری که فوتبال روباتهای انساننما مدتی است که در مجامع علمی به عنوان بستری مناسب جهت پیاده سازی و آزمایش روشهای هوش مصنوعی جایگاه مناسبی پیدا کرده است و گرایش به انجام تحقیق در این زمینه با استقبال چشمگیری روبرو بوده است.
روبوکاپ، انگیزه ها و اهداف
روبوکاپ عنوان مسابقاتی درزمینه دانش روباتیک وهوش مصنوعی است که بصورت سالیانه توسط فدراسیون بین‌المللی روبوکاپ برگزار می شود. روبوکاپ بزرگترین اقدام بشر در جهت عملیاتی شدن تحقیقات در حوزه هوش مصنوعی و روباتیک است. این مسابقات با فراهم آوردن چارچوب های مشخص و استاندارد، زمینه مناسبی جهت طراحی، پیاده سازی و ارتقای الگوریتم های هوش مصنوعی فراهم آورده است. ایده برگزاری روبوکاپ برای اولین بار در سال ۱۹۹۲ توسط پروفسور آلن مکورث از کانادا در مقالهای تحت عنوان روباتهای بینا مطرح گردید. در 1993 گروهی از محققان کشور ژاپن به بررسی امکانپذیری برگزاری مسابقه فوتبال روباتها پرداختند که این بررسی‌ها منجر به تأسیس رقابتهای Robot J-League (که بعدها به روبوکاپ تغییر نام داد) شد. رقابت های روبوکاپ درسال 1996 بصورت رسمی آغازبکارکرد. هدف از برگزاری این مسابقات غالبا به صورت زیر مطرح شده می شود :
” در سال 2050 میلادی، یک تیم فوتبال از روباتهای هوشمند، در یک مسابقه رسمی با رعایت کلیه قوانین فیفا مقابل آخرین تیم قهرمان فوتبال انسانها به پیروزی خواهد رسید. “[4]
این مطلب شاید تا حدود زیادی خوشبینانه و غیر ممکن باشد اما تاریخ علم در موارد گوناگون اثبات کرده است که هر آنچه قابل گنجایش در تخیل بشر باشد، در آینده قابل دسترسی است کما اینکه پیشرفتهای قابل توجه در زمینه مسابقات روبوکاپ در همین مدت کوتاه نیز مؤید این امر میباشد. البته روبوکاپ علاوه بر این هدف بلند مدت، اهداف کوتاه مدتی را نیز دنبال میکند که در واقع ایحاد بستری مناسب و رقابتی جذاب جهت ارتقای روباتیک و هوش مصنوعی و همچنین افزایش گرایش عمومی به هوش مصنوعی و روباتیک با استفاده از جذابیت های مسابقات روبوکاپ میباشد[5]. روبوکاپ دربر گیرنده طیف وسیعی از تحقیقات در زمینههای هوش مصنوعی و روباتیک است که از جمله آنها می توان به مفاهیمی چون یادگیری ماشین، بینایی ماشین ، پردازش تصویر، عمل در محیطهای چند عاملی، هوش مصنوعی توزیع شده، کنترل هوشمند روباتها و مفاهیم دیگر از این دست اشاره کرد[6]. به همین منظور سازمان جهانی روبوکاپ شاخههای مختلفی که هر یک در برگیرنده طیفی از مفاهیم بالا میباشد را معرفی کرده است. لیگ روباتهای انساننما، روباتهای امدادگر، روباتهای مینیاب، روباتهای فوتبالیست اندازه متوسط، روباتهای فوتبالیست اندازه کوچک، شبیهسازی فوتبال و شبیهسازی امداد و نجات تعدادی از مهمترین این مسابقات میباشد[7].
لیگ شبیهسازی فوتبال شامل دو بخش مهم شبیهسازی دو بعدی و شبیهسازی سهبعدی میباشد. در محیط دوبعدی فضای مسابقه شبیه به یک تصویربرداری هوایی از محیط مسابقه است، به این ترتیب که عملکرد هر شی از محیط به فضایی دو بعدی نگاشته میشود و روباتها به شکل دایره دیده میشوند. در چنین فضایی اهمیت ویژگیهای محیطهای سه بعدی مانند جاذبه، مسئله حفظ تعادل و… از بین میرود. اما در محیط سهبعدی تمامی ویژگیهای یک زمین بازی واقعی در نظر گرفته میشود. در این محیط روبات ها به شکل انسان هستند در نتیجه تمامی مسائل مطرح درباره انسان، در مورد این روباتهای انساننما نیز صدق میکند و این شاخه زمینه گسترش فعالیت در حیطه روباتهای انساننما را فراهم آورده است. این فعالیتها شامل کار بر روی تواناییهای سطح بالا و سطح پایین روباتهای انساننما میباشد که زمینه ورود الگوریتمهای هوش مصنوعی را فراهم میکند. شکل 1-7 محیطهای شبیهسازی فوتبال دوبعدی و سهبعدی را نشان میدهد. این دو بخش بر مبنای استفاده از یک سیستم شبیهساز بنا نهاده شدهاند که در ادامه به معرفی آن خواهیم پرداخت.

شکل1-7 : محیط های شبیه سازی فوتبال دوبعدی و سه بعدی

شکل1-8 : محیط های شبیه سازی فوتبال دوبعدی و سه بعدی
نرم افزار شبیهسازی و مدل روبات
1-4-1- شبیهسازی
نرم افزار شبیهساز که اصطلاحا به آن سرور شبیهسازی میگویند در حقیقت مسئول شبیهسازی تمامی عوامل دخیل در یک مسابقه فوتبال واقعی مانند وزن توپ، وزن بازیکنان، شرایط محیطی مانند وزش باد و… است. این نرم افزار مسئول شبیهسازی یک محیط زمان حقیقی و خطادار است به نحوی که دو تیم از روباتهای نرم افزاری را قادر به رقابت در برابر هم میسازد. سیستم شبیهسازی دو بعدی یک سیستم چند عامله ارزشمند برای تحقیق در همکاری توزیع شده اعضای تیمها، یادگیری ماشین و … است اما به علت دوبعدی بودن، نتایج حاصل قابل به آسانی انتقال به جهان واقعی نمیباشد به همین منظور در سال 2003 یک سیستم شبیهسازی سه بعدی و نزدیک به جهان واقعی به نام سیمسپارک پیشنهاد شد و برای اولین بار در سال 2004 مورد استفاده قرار گرفت.
سرور شبیه ساز سه بعدی Rcssserver3D یک شبیهساز سه بعدی بر اساس اسپارک و موتور پویای آزاد (ODE) است. اسپارک قادر به انجام محاسبات و پردازشهای توزیع شده چند عاملی میباشد[8]. این سیستم یک شبیهساز بر مبنای اجزای عمومی سیستم شبیهسازی چند عاملی فیزیکی است که در این پایاننامه اساس کار قرار میگیرد. برای روی آوردن به شبیهسازی و دست کشیدن از ساخت روبات دلایل بسیاری میتوان برشمرد، از جمله اینکه ساخت یک روبات از لحاظ زمانی و تجهیزات هزینهبر است و احتیاج به احاطه بر مسائل سخت افزاری دارد، روبات واقعی بر اثر استفاده مداوم دچار عیوب سخت افزاری میشود که بر هزینه زمانی و مالی میافزاید و… که تمامی این مسائل خصوصا ساخت روبات و درگیری با مسائل سخت افزاری فرصت را از محققین برای پرداختن به مسائل نرمافزاری و پیاده سازی و ارتقای الگوریتمها میگیرد. شبیهسازی با فراهم آوردن بستری مهیا، این فرصت را فراهم آورده است که بدون درگیری با مسائل جانبی، تمام توجه خود را بر روی ابداع، پیادهسازی و بهبود و ارتقای الگوریتمهای مورد نیاز متمرکز کنیم. البته شبیهسازی با تمام مزایایی که دارد، مشکلاتی نیز دارد که از جمله میتوان به خطاهای رخ داده در مدلسازیها، مشکلاتی در پیادهسازی الگوریتمهای شبیهسازی شده در محیط واقعی و… اشاره کرد. اما با وجود این مشکلات، مزایای شبیهسازی به حدی مهم و با ارزش هستند که کماکان شبیهسازی در بسیاری از موارد گزینه نخست است. همین مسائل، مسابقات شبیه سازی خصوصا شبیهسازی فوتبال را در زمره جذابترین بخشهای مسابقات روبوکاپ قرار داده است.
1-4-2- مدل روبات
روبات مورد استفاده در شبیهسازی فوتبال سهبعدی، در حال حاضر روبات انساننمای نائو میباشد. این روبات که هماکنون بازیگر اصلی صحنه مسابقات روباتیک خصوصا شبیهسازی فوتبال سه بعدی است، در سال 2008 به بازار معرفی شد دلیل اصلی جذابیت این روبات، نزدیکی قابلیتهای حرکتی این روبات به انسان است. این روبات همانگونه که در جدول 1-1 مشخص شده است، یک روبات انسان نمای با 22 درجه آزادی است که برای هر پا 6 تا، هر دست 4 تا و سر 2 درجه آزادی وجود دارد. همچنین این روبات دارای یک حسگر همه جهته، موتورها و حسگرهای زاویهسنج جداگانه برای هر مفصل، یک سنسو زیروسکوپ، یک ابزار ارتباطی ویک حسگر نیرو در هر پا میباشد. علاوه بر فوتبال، این روبات با استفاده از چهار میکروفن تعبیه شده در سر و سیستم پردازش صوتش قادر به برقراری ارتباط و صحبت کردن است. در نسخه شبیهسازی شده این روبات، تمامی مفاصل و سیستم مکانیکی روبات، موتورها و محرکهای روبات و حسگرهای آن توسط سیستم شبیهساز پیادهسازی میشود و تنها قسمت باقیمانده مغز روبات میباشد که بایستی توسط برنامه نویس، برنامه ریزی شود و به طور قطع الگوریتمهای پیاده سازی شده بایستی با شبیهساز و معماری آن سازگاری داشته باشند.
جدول SEQ جدول \* ARABIC 1-1 : مشخصات روبات نائو
نام روبات ارتفاع وزن تعداد درجات آزادی
نائو 57سانتی متر 5/4 کیلوگرم 22-25 درجه آزادی
رقابتهای شبیهسازی فوتبال سه بعدی در حال حاضر در زمینی به ابعاد 21 در 14 متر بین دو تیم که هر یک دارای 9 بازیکن (عامل) هستند انجام میشود. هر تیم بر روی یک کامپیوتر جداگانه اجرا میشود و مسابقه شامل دو نیمه 5 دقیقهای میباشد[7]. محیط شبیهساز فوتبال سه بعدی با تمامی ویژگیها و محدودیتها، زمینه مناسبی برای فعالیت در حیطه علوم روباتیک و هوش مصنوعی فراهم آورده است. در این پایاننامه از روبات نائو به عنوان روبات مورد آزمایش و از محیط شبیهساز فوتبال سهبعدی به عنوان بستری برای ارزیابی روش ها استفاده میکنیم.
1-4-3- کد پایه
کدهای پایه در زمینه مسابقات روبوکاپ در واقع بستری هستند به منظور فراهم آوردن امکانات لازم جهت پیاده سازی الگوریتمها و روشها. در زمینه فوتبال سه بعدی کد پایه ارتباط بین سرور شبیهسازی و عاملهای بازی را فراهم می آورد، و معمولا برخی از توانایی های پایهای لازم برای روبات فوتبالیست را در خود دارد به این ترتیب کد پایه احتیاج برنامه نویس برای درگیر شدن با جزئیات را بر طرف میکند و به او این امکان را میدهد که بدون توجه به جزئیات، به پیاده سازی تواناییهای متنوع بپردازد. در زمینه شبیهسازی فوتبال سهبعدی، اکثر تیمها کدهای پایه مربوط به خود را منتشر کردهاند که برای تیمهای دیگر قابل استفاده است. این کار در این مورد نیز مانند سایر پروژههای متن باز باعث رفع خطاهای منطقی موجود در کدها و بهینهتر شدن کدهای منتشر شده، شده است. بسیاری از این کدها را میتوان از پایگاه اینترنتی پروژههای متن باز sourceforge.net دریافت کرد. یکی از معروفترین کدهای پایه در شبیهسازی فوتبال سه بعدی، کد پایه تیم Nexusاز دانشگاه فردوسی مشهد است. بعد از دریافت کد و استخراج آن، مشاهده می شود که کد پایه به دستههای doc و lib، src تقسیم میشود که به ترتیب حاوی کد منبع تیم، کتابخانه های مورد استفاده و مستندات تولید شده توسط Doxygenاست. به منظور کامپایل کردن کد، به نرم افزار CMake جهت ایجاد پیش نیازهای کامپایل کد نیاز داریم. کد تیم از نظر تئوری در تمامی پلتفرم هایی که از g++ و Cmake پشتیبانی میکنند قابل استفاده میباشد.
برای کامپایل کردن کد کافیست شاخه ای به عنوان نمونه با نام build در ریشهی کد ایجاد کرده و با اجرای دستور cmake نسبت به ایجاد فایل های مورد نیاز جهت کامپایل و اجرای کد اقدام نماییم. با این کار فایل هایی از جمله start.sh(اسکریپت موجود برای اجرا کردن تیم) ایجاد میشوند و با اجرای دستور make کد تیم کامپایل شده و فایل nexus3D به عنوان فایل اجرایی تیم تولید میگردد. جدول 1-2 به طور خلاصه به محتویات شاخه های موجود در کد پایه میپردازد.
جدول 1-2 : محتویات شاخه های موجود در کد پایه
کاربرد نام شاخه
محل قرار گرفتن فایل اجرایی تیم به همراه اسکریپت ها و فایل های مورد نیاز /bin
محل قرار گرفتن فایل های مورد نیاز جهت کامپایل کد پایه /build
محل قرار گرفتن مستند سازیهای موجود در کد پایه /doc
محل نگهداری از کتابخانه های مورد استفاده /lib
محل قرار گرفتن کدهای تیم /src
کد پایه تیمNexus مانند سایر کدهای پایه ای بر اساس معماری لایه ای از سه لایه ی اصلی ارتباطی، داده و تصمیم گیری تشکیل شده. لایه ی ارتباطی وظیفه ی برقراری ارتباط با کارگزار شبیه سازی، لایه ی داده وظیفه ی پردازش داده های خام ورودی از لایه ی قبل و لایه ی تصمیم گیری وظیفه ی تصمیم گیری با استفاده از اطلاعات ورودی از لایه ی قبل را بر عهده دارد که شکل 1-9 ساختار لایه ای آن را نشان میدهد.

شکل 1-9 : ساختار لایه ای کد پایه
راه رفتن روبات انساننما از بغل
به طور کلی تواناییهای یک روبات انساننمای فوتبالیست به دو دسته تقسیم میشود:
تواناییهای سطح پایین
تواناییهای سطح بالا
تواناییهای سطح پایین در حقیقت همان تواناییهای اولیه و اساسی یک روبات هستند، از این دسته میتوان به حفظ تعادل، راه رفتن به جلو وعقب، راه رفتن از بغل و… اشاره کرد. این تواناییها سنگ بنای تواناییهای سطح بالایی مانند تصمیمگیری، همکاری در تیم فوتبال و… هستند و همین امر موجب افزایش اهمیت آنها شدهاست.
راه رفتن یکی از پایهایترین و اساسیترین تواناییهای یک روبات دوپا است، اگر چه این توانایی برای انسان بسار جزیی و ناچیز قلمداد میشود اما در روبات دوپا دخیل شدن مساله حفظ تعادل در راه رفتن، دشواری راه رفتن را دوچندان میکند. حفظ تعادل و راه رفتن در روباتهای دو پا اهمیت فراوانی دارد به این دلیل که توانایی فعالیت در محیطهای انسانی را برای روبات فراهم میآورد. اگرچه با استفاده از روباتهای چرخدار میتوان بر بسیاری از دشواریهای حفظ تعادل و راه رفتن غلبه کرد اما در عوض بسیاری از مزایایی که انعطافپذیری راه رفتن دوپا به همراه دارد قربانی خواهند شد. راه رفتن از بغل به عنوان یک توانایی سطح پایین که به صورت طبیعی در انسانها وجود دارد دارای مشکلات و پیچیدگیهای فراوان است. ابتدا روبات باید بتواند بدون بر هم خوردن تعادل سر جای خود بایستد، سپس با برداشتن گامها باید تعادلش حفظ شود. این مساله که در هنگام راه رفتن تقریبا تمامی مفاصل بدن درگیر هستند، پیچیدگی کار را دوچندان میکند. به این ترتیب که باید برای تمامی مفاصل سرعت زاویهای و مکان آنها را در هر لحظه بدانیم، که تمامی این موارد با تغییر خصوصیات زمین ازجمله شیب، جنس و اصطکاک آن تغییر میکند.
اهداف
در این پایان نامه، قصد داریم روشی برای راه رفتن روبات نائو ارائه کنیم که توانایی استفاده از حداکثر ممکن درجات آزادی این روبات را داشته باشد. سرعت رسیدن به نقاط مختلف زمین مسابقه فوتبال امری مهم است و روبات نائو به عنوان یک روبات فوتبالیست بایستی بتواند در رسیدن به نقاط مختلف زمین فوتبال عملکرد مناسبی داشته باشد. در این بین ارائه متدی که علاوه بر افزایش سرعت، در حفظ تعادل روبات و کاهش تعداد دفعات زمین خوردن آن تاثیر مثبت داشته باشد اهمیت فراوان دارد. به این ترتیب بهبود پایهایترین توانایی روبات، راه را برای ایجاد و ارتقا تواناییهای سطح بالاتری همچون همکاری تیمی، تصمیمگیری، دریبل زدن، شوت زدن و…. هموار میسازد.
راه رفتن از بغل مانند راه رفتن مستقیم از تواناییهای سطح پایین مهم میباشد که تاثیر بسزایی در کاهش زمان رسیدن به نقاط مختلف زمین دارد. به علاوه استفاده روبات ازین توانایی مزایای بسایر دیگری دارد که در ادامه مورد بحث قرار خواهد گرفت.
در این پایاننامه الگوریتمی جدید برای راه رفتن مبتنی بر اتوماتای یادگیر ارائه میشود که به منظور راه رفتن مستقیم و راه رفتن از بغل مورد استفاده قرار میگیرد. این روش با استفاده از تعداد بیشتری از مفاصل روبات نائو به افزایش سرعت این روبات در راه رفتن به جلو و راه رفتن از بغل، بهبود تعادل و ثبات روبات و کاهش تعداد دفعات زمین خوردن روبات کمک میکند.
فصل دوم:
مروری بر تحقیقات پیشین و روشهای به کار رفته در تحلیل حرکت روبات

مقدمه
راه رفتن روبات انسان نما یکی از کلیدیترین توانایی های یک روبات است. با توجه به اهمیت بالای این توانایی در محیطهای واقعی و شبیهسازی، و همچنین به عنوان سنگ بنایی برای تواناییهای سطح بالای روبات انساننما، تحقیقات زیادی به خصوص در زمینه راه رفتن به جلو و عقب صورت گرفته است. به طور کلی و از دید تحلیلی روشهای مطرح شده در حرکت روبات به دو دسته کلی تقسیم میشود[9] :
روشهای بر اساس مدل
روش های بدون در نظر گرفتن مدل
در روش اول لازم است که در ابتدای کار مدل روبات مشخص باشد و بر اساس این مدل از پیش تعیین شده راه رفتن روبات تحلیل شده و الگوریتمی برای آن ایجاد شود. روشهای مبتنی بر نقطه گشتاور صفر در این مجموعه قرار میگیرند.
در روش دوم که “پویا” نیز نامیده میشود، راه رفتن روبات تنها با استفاده از اطلاعات حسگرها و بدون در نظر گرفتن مدل روبات حاصل میشود.
به طور معمول تحلیل حرکتی هر روبات مختص همان روبات است که این امر به دلیل تفاوت در درجات آزادی و تعداد مفاصل روباتها، تفاوت در ساختمان و همچنین تفاوت در توانایی و سامانههای حرکتی هر روبات میباشد. اما در عین حال روشهای کلی برای این کار نیز وجود دارد که در ادامه به بررسی نمونههایی از تحلیل حرکتی روبات و الگوریتمهای مطرح شده در راه رفتن روبات به جلو و عقب و همچنین راه رفتن از بغل خواهیم پرداخت.
تعادل روبات و نقطه گشتاور صفر
یکی از اساسی ترین مسائلی که یک روبات انساننما با آن سر و کار دارد، حفظ تعادل میباشد. اهمیت موضوع در برخورد روبات با محیط واقعی بیشتر نمایان میشود،جاییکه نیروهای خارجی هر یک به نوبه خود تعادل روبات را با مشکل مواجه میسازند که این خوذ نشان دهنده اهمیت حفظ و بازیابی تعادل روبات در شرایط مختلف میباشد. از جمله این شرایط حفظ تعادل روبات در زمان راه رفتن است. در هنگام راه رفتن عوامل متعددی بر تعادل تاثیر دارند، از جمله میتوان به جاذبه، اصطکاک، ویژگیهای محیطی مانند پستی و بلندیها و… اشاره کرد که نشان دهنده پیچیدگیهای این مساله هستند.
نقطه گشتاور صفر یکی از پایهای ترین روشهای حفظ تعادل میباشد که توسط واکوبراتوویچ برای حفظ تعادل روبات انساننما به کار برده شد[10]. نقطه گشتاور صفر نقطهای از محیط است که برآیند گشتاور حاصل از تمامی نیروهای فعال در آنجا صفر میباشد. اساس کار بر حفظ این نقطه در ناحیهای پایدار به منظور حفظ تعادل روبات است. در صورت خروج این نقطه از ناحیه پایداری، تعادل روبات بر هم خورده و روبات زمین میخورد پس برای پیشگیری از این امر مفاصل روبات بایستی به نحوی تنظیم شوند که این نقطه در ناحیه پایدار باقی بماند. در مبحث حفظ تعادل در هنگام راه رفتن به طور کلی دو نوع راه رفتن وجود دارد، اولین نوع راه رفتن که معمولترین روش نیز هست، راه رفتن ایستا میباشد[11].
در این نوع راه رفتن تصویر مرکز جرم روبات بر روی زمین، باید همواره در ناحیه پایداری باشد که در حالتی که روبات روی دوپا باشد این ناحیه یک چند ضلعی ایجاد شده بین دوپاست و در حالتی که روبات روی یک پا باشد این ناحیه کف پاست (شکل2-1).

شکل 2-1 : راه رفتن ایستا
در نوع دوم راه رفتن که راه رفتن پویا نامیده میشود، امکان خروج مرکز جرم از ناحیه پایداری وجود دارد و در بیشتر اوقات روبات از نقطه نظر ایستایی در حالت ناپایدار است. در این روش نقطه گشتاور صفر که با استفاده از دینامیک کل سیستم بدست میآید در ناحیه پایدار قرار گیرد (شکل2-2) . همین امر باعث میشود سرعت در راه رفتن پویا بیشتر و طول گامها بزرگتر از روش ایستا باشد اما در عوض پیاده سازی آن دشوارتر است. در راه رفتن پویا محاسبه و برآورد نقطه گشتاور صفر اهمیت پیدا میکند که پیچیدگیهای خاص خود را دارد اما در عوض مزایای مهمی دارد که قبلا ذکر شد. راه رفتن پویا وابسته به محاسبه و بدست آوردن مکان نقطه گشتاور صفر است و همین موضوع باعث کشیده شدن محققان بسیاری به سمت آن شده است و تحقیقات بسیاری در این زمینه صورت گرفته است که در ادامه به آنها اشاره خواهد شد.

شکل 2-2 : راه رفتن پویا
محاسبه نقطه گشتاور صفر به مدل روبات مورد استفاده وابسته است و تاکنون برای محاسبه آن روشهای مختلفی معرفی شده است. در سال 1991 لی [12] و همکارانش با استفاده از حسگرهای نیرو سنج در کف پا و بدست آوردن نیروهای وارد بر آن روشی برای محاسبه نقطه گشتاور صفر ارائه کردند. در 2001 هیونگ [13] و همکارانش برای حفظ تعادل روبات در حین حرکت در محیطهای ناهموار و شیبدار ارائه کردند. یانگ [14] وهمکارانش با بدست آوردن نقطه گشتاور صفر در حین راه رفتن، نشان دادند که با تغییر وضعیت مفاصل چنانچه این نقطه را در ناحیه پایداری حفظ کنند، راه رفتن بدون بر هم خوردن تعادل امکانپذیر خواهد بود. سعید عبدالشاه [15] و همکارانش نیز روش مناسبی برای محاسبه نقطه گشتاور صفر ارائه کردند. آنها با فرض اینکه این نقطه یک سه تایی مثل (X,Y,Z) روی زمین است، و با یک روبات دارای n لینک سروکار داریم، و مجموع گشتاورها حول این نقطه برابر صفر است، معادله مجموع گشتاور را به صورت زیر بدست آوردند:
T=i=1nRi+Rz*Fi+i=1nTi=0 2-1
که Fi مجموع نیروهای بر روی هر لینک و Ti مجموع گشتاور موتور حول هر لینک است. Ri و Rz به ترتیب بردار مکان محل اثر نیرو تا مرکز جرم لینک و بردار گشتاور صفر میباشند. با حل ای معادله بر حسب x و y و با توجه به اینکه در صفحه مورد نظر Z=0 است، معادلات مربوط به نقطه گشتاور صفر را به صورت زیر بدست آوردند:
X=i=1nzi Fxi-xi Fzi+i=1nTyii=1nFzi2-2
Y=i=1nzi Fyi-yi Fzi+i=1nTxii=1nFzi 2-3
همچنین کمبایاشی [16] از نقطه گشتاور صفر به عنوان معیاری برای برازش در الگوریتم ژنتیک استفاده کردند به این ترتیب که برای بدست آوردن این نقطه یک مساله بهینه سازی طرح کردند که در آن هر کرومزوم تخمینی از نقطه گشتاور صفر به ما میدهد، سپس نشان دادند هر چه تفاوت بین نقطه تخمینی ونقطه واقعی گشتاور صفر کمتر باشد کرومزوم مورد نظر برازندهتر و پایداری روبات بیشتر است.
حرکت شناسی
حرکت شناسی در پایه ای ترین حالت خود مربوط به روباتهای صنعتی دارای چندین لینک متصل به هم میباشد. روباتهای صنعتی به طور کلی شامل چند بخش میباشند، یک پایه که سیستم بر روی آن سوار است، تعدادی لینک که به وسیله مفاصل به هم متصل شده اند، و در نهایت یک نوک عملگر انتهایی که در انتهای بازوی روباتیک نصب شده است و بسته به کاربرد، میتواند متفاوت باشد[17] (شکل2-3) . حرکت شناسی روبات به مطالعه ارتباط بین ابعاد و اتصال زنجیرههای حرکتی و موقعیت مکانی، سرعت و شتاب هر کدام از لینکها در یک سیستم روباتیک، به منظور برنامهریزی و کنترل حرکت روبات میپردازد. سینماتیک روبات به طور کلی به دو گروه تقسیم میشود [18] که در ادامه به معرفی آنها میپردازیم.

شکل2-3 : بخشهای مختلف روبات صنعتی

2-3-1- حرکت شناسی مستقیم
حرکت شناسی مستقیم در واقع یک نگاشت از فضای مفاصل (Q) به فضای مختصات دکارتی (W) است :
FQ=W 2-4
در حرکت شناسی مستقیم هدف کنترل و تعیین نوک عملگر انتهایی روبات با توجه به مقادیر مفاصل روبات است، به طور مشخص برای هر چیدمان از وضعیت مفاصل، یک نقطه در فضای دکارتی بدست میآید که در واقع مکان نوک انتهایی بازوی روباتیک است. حرکت شناسی مستقیم مطابق فرمول (2-4) نشانگر یک نگاشت یک به یک است به این ترتیب که با داشتن وضعیت مفاصل از نظر مکان، زاویه و… به نقطه خاصی در فضای دکارتی میرسیم.
2-3-2- حرکت شناسی معکوس
در حرکت شناسی معکوس مسئله دقیقاً عکس بالا میباشد. در حرکتشناسی مستقیم مقادیر تمامی مفصلها مشخص بود و وظیفه ما بدست آوردن موقعیت نهایی عملگر انتهایی روباتیک نسبت به پایه روبات بود اما در حرکتشناسی معکوس با داشتن موقعیت نهایی عملگر روباتیک در فضای دکارتی(W) (از نظر مکان و زاویه چرخش) بایستی وضعیت مفاصل روبات (Q) را بدست آوریم.
Q=F-1W 2-5
همانطور که از طرح مسئله و همچنین فرمول (2-5) مشخص است این یک نگاشت یک به یک نیست که این خود از دشواری های مسئله حرکتشناسی معکوس است، به این دلیل که به ازای یک مکان در فضای مختصات دکارتی، ممکن است چندین مجموعه چیدمان متفاوت برای مفاصل روبات بدست آید.
مسئله حرکت شناسی معکوس بسیار معمولتر از حرکت شناسی مستقیم است به این دلیل که در اکثر موارد مکان انتهایی عملگر روباتیک به عنوان هدف مشخص است و قصد ما بدست آوردن چیدمانی مناسب از مفاصل برای رسیدن به هدف است. همین امر باعث دشواری مساله حرکتشناسی معکوس میشود، به این دلیل که در اکثر موارد چندین چیدمان برای مفاصل روبات به منظور رسیدن به نقطهای خاص بدست میآید که باید با در نظر گرفتن شرایط بهترین چیدمان را برگزید. اکثر روباتهای صنعتی از حرکتشناسی معکوس برای بدست آوردن مقادیر مفاصل استفاده کردند [18]. از جمله روباتهای معروف استفاده کننده از این روش میتوان به Rhino Xp-3 و Intelledex660 اشاره داشت.
حرکتشناسی معکوس در راه رفتن روباتهای دوپا نیز مورد استفاده قرار گرفته است. [19،20، 21 و22]. همچنین در بحث راه رفتن از بغل نیز حرکتشناسی معکوس در روباتهای با درجه آزادی پایین مورد استفاده قرار گرفته است. ویبینگ ژو [23] و همکارانش، در سال 2010 به بررسی و تحلیل حرکتی روبات آموزشی Robonova-1 پرداختند ( شکل2-4) . آنها این روبات را که یک روبات انساننمای آموزشی با اندازه کوچک برای آموزش دانشجویان و علاقهمندان است، با یک ساختار ساده شده هفت لینکی در نظر گرفتند و مدل راه رفتن از بغل خود را روی آن اعمال کردند.

شکل 2-4 : روبات آموزشی Robonova-1
آنها ابتدا با استفاده از محدودیت های هندسی مسیر راه رفتن از بغل این روبات را تعیین کردند. سپس با استفاده از معادلات حرکتشناسی معکوس، مقادیر مفاصل را برای راه رفتن از بغل تعیین کردند، برای سادگی کار با یکی در نظر گرفتن دست و تنه روبات به ساختاری هفت لینکی رسیدند و قسمت تنه را عمود بر زمین در نظر گرفتند(شکل 2-5) .

شکل 2-5 : مدل ساده شده Robonova-1
با توجه به شکل مکان و جهت روبات توسط زاویه بین لینک و محور z از چارچوب مختصات مرجع تعیین میشود(θ7,θ8) و (i=7,8,9,10) qi نشان دهنده زاویه چرخشی هر لینک نسبت به همسایه اش است. همچنین مختصات مکان مفصل مچ پا را ( yaj , zaj ) و مختصات مکان مفصل زانو را ( yhj , zhj )فرض کردند. سپس آنها با در نظر گرفتن محدودیتهای هر مفصل، مقادیر مربوط به زوایای مفاصل مربوط به حرکت(θ7,θ8) را محسابه کردند و در نهایت از نرمافزار ADAMS به منظور شبیهسازی راه رفتن روبات استفاده کردند. آنها مدل خود را روی روبات با درجه آزادی بالا اعمال نکردند. روبات Robonova-1 یک روبات آموزشی با درجه آزادی پایین است که نمیتواند معیار مناسبی برای ارزیابی مدل باشد.
همچنین میلاد خرسندی[24] و همکارانش در سال 2011 با در نظر گرفتن یک روبات سه لینکی، و با استفاده از حرکتشناسی معکوس، توانایی راه رفتن از بغل را در آن ایجاد کردند. آنها با استفاده از اسپلاین مرتبه سوم مسیر روبات را بدست آوردند که از این طریق به مسیری صاف و بدون شکستگی رسیدند.
ماساکی اوگینو [25] و همکارانش نیز به طراحی یک کنترل کننده راه رفتن از بغل به منظور بهرهوری انرژی پرداختند. اما آنها به حل مساله راه رفتن از بغل نپرداختند و به علاوه مدل خود را روی روبات ONE، با 7درجه آزادی اعمال کردند.
استفاده از سریهای فوریه در تحلیل حرکت روبات
همواره الهام گرفتن از طبیعت یکی از روشهای متداول در ایجاد الگوریتمهای هوش مصنوعی بوده است. بر این اساس محققان زیادی سعی در الگو گرفتن از راه رفتن انسان و اعمال آن بر روبات انساننما داشتهاند. راه رفتن انسان به علت مشارکت مفاصل مختلف، مسئله پیچیدهای است. این در حالی است که ساختار بدن انسان با روبات متفاوت است. به طور مثال مفاصلی در بدن انسان هستند که در روباتهای انساننما تعبیه نمیشوند مانند مفاصل انگشتان پا. و وجود این تفاوتها کار را برای مدلسازی راه رفتن انسانی دشوار میکند. اما با این وجود محققان زیادی در این زمینه فعالیت کردهاند. یانگ [26و27] و همکارانش از جمله کسانی بودند که با این رویکرد به دنبال مدلی برای راه رفتن روبات بودند. آنها با استفاده از سیستم ثبت حرکت VICON به ثبت مسیر حرکتی مفاصل یک انسان پرداختند (شکل6-2) و مسیر حرکت مفاصل کفل وزانو را ثبت کردند و با استفاده از نرمافزار تحلیل حرکت POLYGON یک گام کامل حرکت را بررسی کردند و با توجه به آن به نکات جالبی دست پیدا کردند. یکی از نکات مهم یکسان بودن مسیر زاویهای طی شده توسط هر دوپا است، که البته یکی به اندازه نصف پریود زمانی با دیگری فاصله دارد. نکته دیگر سینوسی و کسینوسی بودن مسیرها میباشد که همگی متناوب هستند واین راه را برای استفاده از سریهای فوریه هموار میسازد[28].

شکل : 6-2 مسیر حرکتی ثبت شده مفاصل کفل و زانوی انسان
در ریاضیات، سری فوریه، تابعی است که با استفاده از آن می توان هر تابع متناوب را به صورت جمعی از توابع نوسانی ساده (سینوسی، کسینوسی و یا تابع نمایی مختلط ) نوشت. سری های فوریه برای تخمین انواع توابع متناوب کاربرد دارند و به این دلیل که همه مفاصل بدن انسان دارای خط سیر متناوب وشبیه به سیگنال های سینوسی و کسینوسی هستند، میتوان به کمک سری فوریه این سیگنال های زاویه ای را تولید کرد. تعریف پایه ای سری فوریه به صورت زیر است:
Ft=a02+i=1∞aicosiπtL+bisiniπtL 2-6
که در آنi مقدار بی نهایت دارد.در صورتیکه i مقدار معینی داشته باشد دقت تولید سیگنال تخمینی کاهش مییابد اما پیچیدگی راه رفتن انسانی تولید چنین الگویی به کمک سری فوریه را دشوار میسازد.
یانگ سیگنالها را مطابق شکل 2-7 به دو بخش تقسیم کرد: بخش بالایی وبخش پایینی.

شکل 2-7 : تحلیل یانگ از مسیرهای متناوب ثبت شده توسط نرمافزار POLYGON
او با توجه به اینکه هر بخش میتواند یک تابع فرد باشد از قسمت کسینوسی سری صرف نظر کرد که در نتیجه سری فوریه به شکل زیر در می آید :
Ft=a+i=1nbisiniπtL 2-7
که در فرمول بالاπL = 2πT w = که در نتیجه سری فوریه به فرم زیر بدست آمد:
Ft=a+i=1nbisiniwt 2-8
که a آفست سیگنال وw فرکانس اصلی سیگنال میباشد. یانگ پارامترهای خود را t1 ,t2 به همراه ضرایب سری فوریه در نظر گرفت (t1 زمان ثابت شدن مفصل زانو و t2 زمان شروع دوباره حرکت آن).
2-4-1- بهینه سازی پارامترهای سری فوریه به کمک الگوریتم ژنتیک
الگوریتم ژنتیک تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. روشهای بهینهسازی گوناگونی یر مبنای طبیعت مطرح شدهاند[31،30،29]. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند. این الگوریتم برای اولین بار توسط جان هلند [32] معرفی شد. در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. مختصراً گفته می‌شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند[33]. مسئله‌ای که باید حل شود ورودی است و راه‌حلها طبق یک الگو کد گذاری می‌شوند تابع برازش هر راه حل کاندید را ارزیابی می‌کند. الگوریتم های ژنتیک یکی از الگوریتم های جستجوی تصادفی است که ایده آن برگرفته از طبیعت میباشد.
الگوریتم های ژنتیک برای روشهای کلاسیک بهینهسازی در حل مسائل خطی، محدب و برخی مسائل مشابه بسیار موفق بودهاند ولی الگوریتمهای ژنتیک برای حل مسائل گسسته و غیر خطی بسیار کاراتر میباشند. به عنوان مثال میتوان به مسئله فروشنده دورهگرد اشاره کرد. در طبیعت از ترکیب کروموزومهای بهتر ، نسل های بهتری پدید میآیند. در این بین گاهی اوقات جهشهایی نیز در کروموزومها روی می دهد که ممکن است باعث بهتر شدن نسل بعدی شوند. الگوریتم ژنتیک نیز با استفاده از این ایده اقدام به حل مسائل می کند. روند استفاده از الگوریتمهای ژنتیک به صورت زیر میباشد:
معرفی جوابهای مسئله به عنوان کروموزوم
معرفی تابع برازش
جمعآوری اولین جمعیت
معرفی عملگرهای انتخاب
معرفی عملگرهای تولید مثل
در الگوریتم های ژنتیک ابتدا به طور تصادفی یا الگوریتمیک، چندین جواب برای مسئله تولید میکنیم. این مجموعه جواب را جمعیت اولیه مینامیم و هر جواب را یک کروموزوم مینامیم. سپس با استفاده از عملگرهای الگوریتم ژنتیک پس از انتخاب کروموزوم های بهتر، کروموزوم ها را با هم ترکیب کرده و جهشی در آنها ایجاد میکنیم. در نهایت نیز جمعیت فعلی را با جمعیت جدیدی که از ترکیب و جهش در کروموزوم ها حاصل میشود، ترکیب میکنیم .

شکل 2-8 : شمای کلی الگوریتم ژنتیک
نیما شفیعی [9] و همکارانش با استفاده از الگوریتم ژنتیک پارامترهای سری فوریه را به دست آوردند. آنها ابتدا با استفاده از ایده یانگ، و بر اساس فرمول 2-8 سری فوریه برای چهار ناحیه مفصلی از روبات انساننمای نائو را بدست آوردند.
θh+=a+i=1n Ai.sin(iwht)+ch ,wh= 2πTh 2-9
θh-=a+i=1n Bi.sin(iwht)+ch ,wh= 2πTh 2-10
θk+=a+i=1n Ci.sin(iwkt)+ck ,wk=wh 2-11
θk-= ck ≥0 2-12
که در آنها θh+ معادله برای قسمت بالای کفل، θh- معادله برای قسمت پایین کفل، θk+ معادله برای قسمت بالای زانو و θk- معادله برای قسمت پایین زانو است. به این ترتیب پارامترهای سریهای فوریه جهت بهینه شدن wh,t1,t2,Ci,Ai,Bi,ck,ch هستند. آنها برای بدست آوردن و بهینه کردن مقادیر این پارامترها از الگوریتم ژنتیک استفاده کردند. به این ترتیب که این پارامترها را به عنوان کروموزوم در نظر گرفتند و میزان شایستگی و برازش هر کرومزوم را مسافت طی شده توسط روبات به کمک پارامترهای مشخص شده در آن کرومزوم قرار دادند و با استفاده از قوانین انتخاب طبیعی به مقادیری دست یافتند که به کمک آن به سرعت 0.44 متر بر ثانیه برای روبات نائو رسیدند.
2-4-2- بهینه سازی پارامترهای سری فوریه به کمک الگوریتم ازدحام ذرات
الگوریتم ازدحام ذرات برای اولین بار توسط کندی وابرهارت[34] معرفی شد. این الگوریتم یکی از جدیدترین روشهای ارائه شده پردازش تکاملی بر مبنای طبیعت است که بر اساس رفتار اجتماعی بنا نهاده شده است. در الگوریتم ازدحام ذرات گروهی از ذرات در نظر گرفته میشوند که در حال پرواز بر فراز فضایی D بعدی هستند و این ذرات مکان خود را با توجه به تجربیات قبلی خود و تجربیات همسایههای خود به روز میکنند. مکان ذره i ام توسط یک بردار مکان D بعدیpi=(pi1,pi2,…piD) و یک بردار جهت vi=(vi1,vi2,…viD) مشخص میشود. بردار مکان به عنوان مجموعهای از مختصات تلقی میشود که نقطه ای از فضای جست و جو را نشان میدهند. در هر تکرار از الگوریتم بردار مکان فعلی به عنوان یک راه حل کاندید برای مسئله تلقی میشود. یک تابع برازش نیز به عنوان معیاری برای تعیین راه حلهای مناسب در جهت پیشبرد روند جست و جو مورد استفاده قرار میگیرد. به این ترتیب بهترین مکان برای یک ذره در طول تاریخ خود آن ذره با توجه به تابع برازش در pbesti ذخیره میشود، همچنین بهترین مکان در بین تمامی ذرهها در متغیر gbesti ذخیره میشود. در هر تکرار از الگوریتم ذره i با توجه به فرمولهای 2-13 و 2-14 بردارهای مکان و سرعت خود را به روز میکند.
vit+1=wvit+c1r1pbesti-pit+c2r2(gbesti-pit) 2-13
pit+1=pit+vit+1 2-14
در فرمول بالا W پارامتر وزن ماندگاری نام دارد که در حقیقت تنظیم کننده نرخ یادگیری الگوریتم است، به نحوی که با مقادیر بالای آن در اوایل جست و جو میتوان نرخ اکتشاف را بالا برده و در اواخر جست و جو، الگوریتم با کاهش مقدار W به مقدار بهینه میل میکند. همچنین c1 و c2 پارامترهای شتاب هستند و r1 و r2 متغیرهای تصدفی در بازه [1و0] هستند[35]. شکل 2-9 شمای کلی این الگوریتم را نشان میدهد.

شکل 2-9 : شمای کلی الگوریتم ازدحام ذرات
الگوریتم ازدحام ذرات این نکته را یادآوری میکند که یک ذره به تنهایی قدرتی ندارد اما با قرار گرفتن در قالب یک جمعیت و با تعامل بین ذرات میتوان به بهینه نزدیکتر شد. در الگوریتم ازدحام ذرات این تعامل با توجه به توپولوژی جمعیت و ساختار جمعیتی آغاز میشود. در طول جستو جو مکان هر ذره علاوه بر مکان قبلی خودش، با توجه به مکان همسایههایش در توپولوژی مورد نظر به روز رسانی میشود و از بهترین مکانهای یافته شده توسط همسایگانش نیز بهره میبرد [36] و در کل میتوان گفت که هر ذره سعی میکند که با فاصله از همسایههایش حرکت کند تا با آنها برخورد نکند. همچنین سرعت خود را با توجه به سرعت همسایههایش تنظیم میکند و همچنین هر ذره سعی میکند به سمت میانگین همسایههایش حرکت کند با امید اینکه همسایهها به بهینه نزدیک شده اند[37].
در سال 2009 نیما شفیعی [38] و همکارانش در مقالهای از الگوریتم ازدحام ذرات برای تنظیم پارامترهای سری فوریه برای راه رفتن روبات نائو استفاده کردند. آنها پارامترهای سریهای فوریه معادلات 2-9 تا 2-12 را به عنوان عناصر هر ذره در نظر گرفتند. به این ترتیب آنها به ذراتی با هفت بعد wh,t2,Ci,Ai,Bi,ck,ch رسیدند که به کمک الگوریتم ازدحام ذرات و با بهینهسازی این پارامترها به نتایجی بهتر از الگوریتم ژنتیک دست یافتند.
فصل سوم:
طرح پیشنهادی
مقدمه
در این فصل به حل مساله راه رفتن روبات انسان نمای نائو از بغل میپردازیم. در ادامه ابتدا به طور خلاصه به معرفی این روبات و آشنایی با ساختمان آن از جمله مفاصل و حسگرها خواهیم پرداخت. سپس در قسمت بعد ضمن معرفی حرکتشناسی روبات، از آن استفاده کرده و با پیاده سازی آن روی روبات شبیهسازی شده نائو، توانایی راه رفتن از بغل را در این روبات فراهم میآوریم. پس از آن در بخش بعد با معرفی اتوماتای یادگیر، جایگزینی حرکتشناسی معکوس با اتوماتای یادگیر مطرح میشود که در نهایت الگوریتمی مبتنی بر اتوماتاهای یادگیر برای راه رفتن روبات از بغل پیشنهاد خواهیم کرد و از مفهوم یادگیری اتوماتاهای یادگیر برای بدست آوردن مقادیر مفاصل پای روبات نائو به منظور راه رفتن استفاده خواهیم کرد.
روبات نائو و تحلیل حرکت آن
همانطور که در بخشهای قبل گفته شد روبات نائو یک روبات انساننما میباشد. این روبات توسط شرکت الدبران فرانسه طراحی شده است. نکته مهم درباره این روبات نحوه طراحی آن با هدف نزدیکی هرچه بیشتر به ساختار فیزیکی انسان است که قابلیت فعالیت در محیطهای انسانی را برای آن فراهم میآورد. نسخه شبیهسازی این روبات نیز در همان سال وارد مسابقات روبوکاپ شد وتاکنون نیز در حال استفاده قرار است. نسخههای شبیهسازی مختلفی از این روبات ارائه شده است که از جمله میتوان به Webot و Rcssserver3D اشاره کرد. در این پایاننامه از نسخه شبیهسازی Rcssserver3D استفاده میکنیم که یکی از بهینهترین و در عین حال از پرکاربردترین نسخههای شبیهساز روبات نائو میباشد[39]. روبات نائو مورد استفاده در این تحقیق روباتی با 57 سانتیمتر ارتفاع و 4.5 کیلوگرم وزن است. این روبات دارای 22 درجه آزادی است که هر پا 6 مفصل، هر دست 4 تا و سر نیز 2 مفصل دارد( شکل3-1) [40].

شکل 3-1 : مفصلبندی روبات نائو
همانطور که در شکل3-1 مشخص است تمامی مفاصل این روبات از نوع چرخشی هستند که در جدول 3-1 معرفی میشوند.
جدول 3-1 : مشخصات روبات نائو
مکان مفصل شماره مفصل توضیحات
مفاصل سر مفصل شماره 1 حرکت دادن سر به چپ و راست
مفصل شماره 2 حرکت دادن سر به بالا وپایین
مفاصل دست مفصل شماره 1 حرکت دادن دست به بالا و پایین
مفصل شماره 2 حرکت دادن دست به چپ و راست
مفصل شماره 3 عملکرد مشابه آرنج دست انسان
مفصل شماره 4 عملکرد مشابه مچ دست انسان
مفاصل پا مفصل شماره 1 حرکت دادن پا به داخل وخارج
مفصل شماره 2 حرکت دادن پا به چپ و راست
مفصل شماره 3 حرکت دادن پا به بالا وپایین

Related posts:

92

تحقیق -پایان نامه

No description. Please update your profile.

LEAVE COMMENT

نوشته‌های تازه

آخرین دیدگاه‌ها

    بایگانی

    دسته‌ها

    اطلاعات




    :: بازدید از این مطلب : 267
    |
    امتیاز مطلب : 4
    |
    تعداد امتیازدهندگان : 1
    |
    مجموع امتیاز : 1
    ن : پایان نامه ها
    ت : یک شنبه 12 شهريور 1396
    مطالب مرتبط با این پست
    می توانید دیدگاه خود را بنویسید


    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-52170159-2', 'auto'); ga('send', 'pageview');